1. Field of the Invention
The present invention relates to a system, method, and program for providing status in a multi-processing node system.
2. Description of the Related Art
An automated information storage and retrieval system, also known as an automated library, includes an array of storage cells, i.e., storage slots, that hold storage cartridges, such as optical or magnetic discs that are portable and removable from the library. The term xe2x80x9cstorage cartridgexe2x80x9d as used herein refers to any structure for housing such removable information media known in the art. The library further includes one or more drives to read information from the storage cartridges located in the storage cells.
FIG. 1 illustrates an automated library 2, such as the International Business Machines Corporation (xe2x80x9cIBMxe2x80x9d) 3995 Optical Library Dataserver, which is described in IBM publication xe2x80x9c3995 ECKD Storage Administration Guidexe2x80x9d, document no. GA32-0242-02 (IBM Copyright, 1994), which publication is incorporated herein by reference in its entirety. The library 2 includes a controller, an input/output station, a gripper assembly 4 capable of picking up and inserting storage cartridges and an XY system 6 to move the gripper assembly 4 along the XY axis to a desired library element, such as storage slots 8a, b or drives 10a, b. 
data operations are performed when the storage cartridge is inserted in the drives 10a, b. Once inserted in the drive 10a, b, data can be read from the cartridge and sent to a host processor. Data transmitted from the host processor can be written to the storage cartridge inserted in the drive 10a, b. The library controller includes a processor, RAM, and other controls and interfaces to direct the actions of the library components. The controller further interacts with a host processor to respond to library commands transmitted from the host processor. The input/output station is the opening through which the user may insert or remove a cartridge. An operator panel on the outside of the box housing the tape library 2 allows the user to communicate with the library controller. The library 2 also includes an access door 12 through which the user may add or remove cartridges maintained in the storage cells 8a, b. 
The term xe2x80x9clibrary elementxe2x80x9d as used herein refers to any location in the library 2 at which a storage cartridge may be located, e.g., the input/output stations, the storage cells 8a, b, the drives 10a, b, and gripper 4.
The gripper assembly 4 may also be equipped with a machine vision system, such as a bar code reader, to read a label on the storage cartridge when the gripper assembly 4 is positioned near a library element. The library controller records the identity and location information of the cartridges in a master status file to provide the status of library elements and the identity of storage cartridges at particular library elements.
In current implementations, the library controller would maintain element status information on all cartridges in the system and the library elements where they are located. Prior art library controllers must update status after performing a movement or operation concerning a cartridge. While managing the element status, the library controller must also execute requests received from hosts host systems and instruct the components of the tape library to execute the received request. The host systems may intermittently request the status information. In response to such requests, the library controller would transmit the status to the requesting host system. One drawback with this approach is that as tape libraries increase in size and as more host systems are attached, the library controller could be overburdened with requests to return status information, thereby interfering with general library controller operations.
Thus, there is a need in the art for improved techniques for maintaining and returning status information in the library system without overburdening the library controller.
Provided is a method, system, and program for providing status information in a system comprised of multiple components. A first processing node receives status information indicating a state of a system component and generates a status message indicating the state of the system component. The first processing node transmits the status message to a second processing node. The second processing node updates information maintained by the second processing node with the state of the system component indicated in the status message. Status information maintained by the second processing node is returned to a request for status.
In further embodiments, the state of the system component is capable of being altered by an electromechanical operation related to the system component.
In still further embodiments, the status information maintained by the second processing node is cached in a memory at the second processing node.
Yet further, the first and second processing nodes may communicate over a bus interface. The request for status is received from a computer system over a communication line and interface to the second processing node. The second processing node returns status information maintained by the second processing node over the interface and communication line to the computer system.
In further embodiments, the first processing node controls a storage library accessor capable of accessing a storage cartridge from one library element location, obtaining information on a state of the library elements, and moving a storage cartridge from one library element to another library element. The second processing node controls a communication interface providing access to a computer system over a communication line, wherein the second processing node returns requested status information to the computer system requesting the status information over the communication line.
Preferred embodiments concern an architecture for maintaining and returning status information in a multi-component system, such as a storage library, including multiple processing nodes that control system components. With the preferred embodiments, system status is communicated from a first processing node to a second processing node upon a state change at one system component. In this way, the status information maintained by the second processing node is current. Further, requests for status information from external systems can be serviced from a dedicated communication node. This arrangement alleviates processing burdens on a main controller node and further minimizes the effect of status host requests on the system bus interface interconnecting the processing nodes as the communication node communicates with the hosts via a separate port.